package com.novanok.campaigntweets;

import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.TextView;
import java.text.SimpleDateFormat;
import java.util.ArrayList;

public class ListaCampaniasAdapter extends BaseAdapter {

    ArrayList<Campania> myList = new ArrayList<Campania>();
    LayoutInflater inflater;
    Context context;

    public ListaCampaniasAdapter( Context context, ArrayList<Campania> myList ) {
        this.myList = myList;
        this.context = context;
        inflater = LayoutInflater.from( this.context );
    }

    @Override
    public int getCount() {
        return myList.size();
    }

    @Override
    public Campania getItem(int arg0) {
        return myList.get(arg0);
    }

    @Override
    public long getItemId(int arg0) {
        return arg0;
    }

    @Override
    public View getView( int arg0, View arg1, ViewGroup arg2 ) {
        if ( arg1 == null ) {
            arg1 = inflater.inflate( R.layout.list_item_campania, arg2, false );
        }

        TextView nombre = ( TextView )arg1.findViewById( R.id.txtNombre );
        TextView descripcion = ( TextView )arg1.findViewById( R.id.txtDescripcion );
        TextView cantidadTweets = ( TextView )arg1.findViewById( R.id.txtTweetsTrackeados );
        TextView proximoEnvio = ( TextView )arg1.findViewById( R.id.txtProximoEnvio );
        TextView cantidadTweetsEnviados = ( TextView )arg1.findViewById( R.id.txtCantidadTweetsEnviados );
        TextView estado = ( TextView )arg1.findViewById( R.id.txtEstadoDeDescarga );
        Button btnIniciar = ( Button )arg1.findViewById( R.id.btnIniciarCampania );
        Button btnDetener = ( Button )arg1.findViewById( R.id.btnDetenerCampania );

        nombre.setText( myList.get( arg0 ).getNombre() );
        descripcion.setText( myList.get( arg0 ).getDescripcion() );
        cantidadTweets.setText( "Cant. Usuarios Trackeados : " + myList.get( arg0 ).getCantidadUsuariosTrackeados() );
        proximoEnvio.setText( "Proximo Envio a las : " +  new SimpleDateFormat( "hh:mm:ss" ).format( myList.get( arg0 ).getTiempoProximoEnvio().getTime() )  );
        cantidadTweetsEnviados.setText( "Cantidad de Tweets Enviados : " +  myList.get( arg0 ).getCantidadTweetsEnviados() );
        estado.setText("Estado de la Campaña : " + myList.get(arg0).getEstado());

        if ( myList.get( arg0 ).isProcesa() ){
            btnIniciar.setVisibility( View.INVISIBLE );
            btnDetener.setVisibility( View.VISIBLE );
        } else {
            btnIniciar.setVisibility( View.VISIBLE );
            btnDetener.setVisibility( View.INVISIBLE );
        }

        return arg1;
    }
}